//
//package vn.lumi.smarthome.ui;
//
//import java.util.ArrayList;
//
//import vn.lumi.smarthome.ActivityHelper;
//import vn.lumi.smarthome.LumiHome;
//import vn.lumi.smarthome.R;
//import vn.lumi.smarthome.io.database.TBL_Scene;
//import vn.lumi.smarthome.io.model.Scene;
//import vn.lumi.smarthome.load.SceneListLoader;
//import android.app.AlertDialog;
//import android.app.ProgressDialog;
//import android.content.BroadcastReceiver;
//import android.content.ContentValues;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.content.Intent;
//import android.content.IntentFilter;
//import android.graphics.Typeface;
//import android.os.Bundle;
//import android.support.v4.app.FragmentActivity;
//import android.support.v4.app.LoaderManager.LoaderCallbacks;
//import android.support.v4.content.Loader;
//import android.view.Gravity;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.widget.BaseAdapter;
//import android.widget.Button;
//import android.widget.CheckBox;
//import android.widget.ListView;
//import android.widget.TextView;
//
//public class DeleteSceneActivity extends FragmentActivity implements LoaderCallbacks<Scene[]>, OnClickListener{
//	private static final String TAG="DeleteSceneActivity";
//	
//	private ListView mListScenes;
//	private Button mbtnExit;
//	private Button mbtnDeleteSelected;
//	
//	private SceneAdapter mSceneAdapter;
//	
//	private int mRoomID;
//
//	public BroadcastReceiver mDelSceneReceiver;
//	
//	public final static String EXTRA_ROOMID="extra_roomid";
//	private final static int LOADER_ID=0;
//	
//	@Override
//	protected void onCreate(Bundle arg0) {
//		super.onCreate(arg0);
//		setContentView(R.layout.activity_delete_scene);
//		init_view();
//
//		ActivityHelper.initialize(this);
//		
//		Intent intent=getIntent();
//		if(intent!=null){
//			mRoomID=intent.getIntExtra(EXTRA_ROOMID,-1);
//			Bundle bundle=new Bundle();
//			bundle.putInt(EXTRA_ROOMID, mRoomID);
//			//load data
//			getSupportLoaderManager().initLoader(LOADER_ID, bundle, this).forceLoad();
//		}
//	}
//	
//	private void init_view(){
//		mListScenes=(ListView)findViewById(R.id.activity_delete_scene_list_scene);
//		mbtnExit=(Button)findViewById(R.id.activity_delete_scene_btn_exit);
//		mbtnDeleteSelected=(Button)findViewById(R.id.activity_delete_scene_delete_selected);
//		
//		mbtnExit.setOnClickListener(this);
//		mbtnDeleteSelected.setOnClickListener(this);
//	}
//	
//	@Override
//	public Loader<Scene[]> onCreateLoader(int arg0, Bundle bundle) {
//		int roomID=bundle.getInt(EXTRA_ROOMID);
//		return new SceneListLoader(getApplicationContext(), roomID);
//	}
//
//	@Override
//	public void onLoadFinished(Loader<Scene[]> arg0, Scene[] sceneList) {
//		mSceneAdapter=new SceneAdapter(getApplicationContext(),sceneList);
//		mListScenes.setAdapter(mSceneAdapter);
//	}
//
//	@Override
//	public void onLoaderReset(Loader<Scene[]> arg0) {
//		
//	}
//
//	private static class SceneAdapter extends BaseAdapter{
//		private Scene[] sceneList;
//		private Context context;
//		
//		public SceneAdapter(Context context,Scene[] scenes) {
//			this.context = context;
//			
//			sceneList=scenes;
//		}
//		
//		@Override
//		public int getCount() {
//			return sceneList.length;
//		}
//
//		@Override
//		public Object getItem(int arg0) {
//			return sceneList[arg0];
//		}
//
//		@Override
//		public long getItemId(int arg0) {
//			return arg0;
//		}
//		
//		public Scene[] getSceneList(){
//			return sceneList;
//		}
//
//		@Override
//		public View getView(final int arg0, View arg1, ViewGroup arg2) {
//			ViewHolder holder=null;
//			if(arg1==null){
//				holder=new ViewHolder();
//				arg1=View.inflate(context, R.layout.item_list_delete_scene, null);
//				holder.txtName=(TextView)arg1.findViewById(R.id.item_list_delete_scene_txt_name);
//				holder.chbTick=(CheckBox)arg1.findViewById(R.id.item_list_delete_scene_chb_delete);
//				arg1.setTag(holder);
//			}else{
//				holder=(ViewHolder) arg1.getTag();
//			}
//			holder.txtName.setText(sceneList[arg0].getName());
//			holder.chbTick.setOnClickListener(new OnClickListener() {
//				
//				@Override
//				public void onClick(View v) {
//					sceneList[arg0].setSelected(((CheckBox)v).isChecked());
//				}
//			});
//			return arg1;
//		}
//		
//		private static class ViewHolder{
//			TextView txtName;
//			CheckBox chbTick;
//		}
//	}
//
//	@Override
//	public void onClick(View v) {
//		switch (v.getId()) {
//		case R.id.activity_delete_scene_btn_exit:
//			finish();
//			break;
//		case R.id.activity_delete_scene_delete_selected:
//			//Xu ly xoa scene da lua chon o day
//			Scene[] scenes=mSceneAdapter.getSceneList();
//			ArrayList<Integer> selectedScenes = new ArrayList<Integer> ();
//			for(Scene scene : scenes){
//				if(scene.isSelected()) selectedScenes.add(scene.getId());
//			}
//			
//			//if no scene to del --> alert
//			if(selectedScenes.size() == 0) {
//				displayNoScenToDel();
//				return;
//			}
//			
//			//del scenes
//			ContentValues values = new ContentValues();
//			values.put("Scene IDs", DeleteSceneActivity.convertIntArrayToString(convertArrayListToArray(selectedScenes)));
//			getApplicationContext().getContentResolver().update(TBL_Scene.CONTENT_URI_DELETE_SCENE, values, null, null);
//
//
//			//show dialog
//			
//			ProgressDialog dialog = new ProgressDialog(this);
//			dialog.setMessage(getString(R.string.txt_saving_scene_in_HC));
//		    dialog.setCancelable(false);
//		    dialog.show();
//		    // Thay doi font chu cua Dialog
//			ChangeFont changeFont = new ChangeFont(
//					this);
//			TextView textView = (TextView) dialog
//					.findViewById(android.R.id.message);
//			textView = changeFont.changeFontTextView(textView,
//					R.string.txt_saving_scene_in_HC, LumiHome.font, 16,
//					Gravity.NO_GRAVITY, getResources().getColor(R.color.white));
//		    
//			//set broadcast receiver
//		    mDelSceneReceiver = new DelSceneReceiver(dialog);
//		    IntentFilter filter= new IntentFilter();
//		    filter.addAction(getString(R.string.txt_vn_lumi_smarthome_del_scenes_successful));
//		    filter.addAction(getString(R.string.txt_vn_lumi_smarthome_del_scenes_failed));
//		    this.registerReceiver(mDelSceneReceiver, filter);
//		    break;
//		default:
//			break;
//		}
//	}
//	
//	public static String convertIntArrayToString(int[] data){
//		String result = "";
//		for(int i =0; i<data.length; i++){
//			result += String.valueOf(data[i]) + ",";
//		}
//		return result;
//		
//	}
//	
//
////	public String convertIntArrayToString(Integer[] data) {
////		// TODO Auto-generated method stub
////		String result = "";
////		for(int i =0; i<data.length; i++){
////			result += String.valueOf(data[i]) + ",";
////		}
////		return result;
////	}
//
//	
//	public static int[] convertStringToIntArray(String str){
//		if(str=="") return null;
//		String[] array = str.split(",");
//		int[] result = new int[array.length];
//		for(int i= 0;i<array.length;i++){
//			result[i] = Integer.parseInt(array[i]);
//		}
//		return result;
//	}
//	public int[] convertArrayListToArray(ArrayList<Integer> input){
//		int[] result = new int[input.size()];
//		for(int i=0;i<input.size();i++){
//			result[i] = input.get(i);
//		}
//		return result;
//	}
//	/**
//	 * Notify when no scene to delete
//	 */
//	public void displayNoScenToDel(){
////		AlertDialog.Builder ErrorDialog = new AlertDialog.Builder(this);
////		ErrorDialog.setTitle(R.string.txt_error);
////		ErrorDialog
////				.setMessage(R.string.txt_no_scene);
////		ErrorDialog.setNeutralButton(R.string.glb_txt_return,
////				new DialogInterface.OnClickListener() {
////
////					@Override
////					public void onClick(DialogInterface dialog,
////							int which) {
////						dialog.cancel();
////					}
////				});
////		ErrorDialog.setCancelable(false);
////		ErrorDialog.show();
//		AlertDialog.Builder builder = new AlertDialog.Builder(this);
//		ChangeFont changeFont = new ChangeFont(
//				this);
//		TextView tvFailDialog = new TextView(this);
//		tvFailDialog= changeFont.changeFontTextView(tvFailDialog, R.string.txt_error,
//				LumiHome.font, 20, Gravity.CENTER,
//				getResources().getColor(R.color.green));
//		builder.setCustomTitle(tvFailDialog);
//		
//		builder.setMessage(R.string.txt_no_scene).setCancelable(
//				false);
//		builder.setNegativeButton(R.string.txt_exit,
//				new DialogInterface.OnClickListener() {
//					public void onClick(DialogInterface dialog, int id) {
//						dialog.cancel();
//					}
//				});
//		AlertDialog alertFailDialog = builder.create();
//		alertFailDialog.show();
//		alertFailDialog.getWindow().getAttributes();
//		TextView textView = (TextView) alertFailDialog
//				.findViewById(android.R.id.message);
//		textView = changeFont.changeFontTextView(textView,
//				R.string.txt_no_scene, LumiHome.font, 16,
//				Gravity.NO_GRAVITY, getResources().getColor(R.color.white));
//		
//		Button btn1 = alertFailDialog
//				.getButton(DialogInterface.BUTTON_NEGATIVE);
//		btn1.setTypeface(Typeface.createFromAsset(this.getAssets(),
//				LumiHome.font));
//		btn1.setTextSize(17);
//		return;
//		
//	}
//	
//	/**
//	 * Notify when can not connect HC
//	 */
//	public void displayDelSceneFailed(){
////		 AlertDialog.Builder builder = new AlertDialog.Builder(this);
////		 builder.setTitle(R.string.txt_error);
////		 builder.setMessage(R.string.txt_error_cannot_connect_HC).setCancelable(
////	            false);
////		 builder.setNeutralButton(R.string.txt_exit,
////	            new DialogInterface.OnClickListener() {
////	                public void onClick(DialogInterface dialog, int id) {
////	                    dialog.cancel();
////	                }
////	            });
////		 AlertDialog alert = builder.create();
////		 alert.show();
//		AlertDialog.Builder builder = new AlertDialog.Builder(this);
//		ChangeFont changeFont = new ChangeFont(
//				this);
//		TextView tvFailDialog = new TextView(this);
//		tvFailDialog= changeFont.changeFontTextView(tvFailDialog, R.string.txt_error,
//				LumiHome.font, 20, Gravity.CENTER,
//				getResources().getColor(R.color.green));
//		builder.setCustomTitle(tvFailDialog);
//		
//		builder.setMessage(R.string.txt_error_cannot_connect_HC).setCancelable(
//				false);
//		builder.setNegativeButton(R.string.txt_exit,
//				new DialogInterface.OnClickListener() {
//					public void onClick(DialogInterface dialog, int id) {
//						dialog.cancel();
//					}
//				});
//		AlertDialog alertFailDialog = builder.create();
//		alertFailDialog.show();
//		alertFailDialog.getWindow().getAttributes();
//		TextView textView = (TextView) alertFailDialog
//				.findViewById(android.R.id.message);
//		textView = changeFont.changeFontTextView(textView,
//				R.string.txt_error_cannot_connect_HC, LumiHome.font, 16,
//				Gravity.NO_GRAVITY, getResources().getColor(R.color.white));
//		
//		Button btn1 = alertFailDialog
//				.getButton(DialogInterface.BUTTON_NEGATIVE);
//		btn1.setTypeface(Typeface.createFromAsset(this.getAssets(),
//				LumiHome.font));
//		btn1.setTextSize(17);
//	}
//	
//	public class DelSceneReceiver extends BroadcastReceiver {
//		
//		private ProgressDialog mDialog;
//		public DelSceneReceiver(ProgressDialog dialog){
//			mDialog = dialog;
//		}
//	   @Override
//	   public void onReceive(Context context, Intent intent) {
//		   mDialog.cancel();
//		   unregisterReceiver(mDelSceneReceiver);
//		   if(intent.getAction().equals(context.getString(R.string.txt_vn_lumi_smarthome_del_scenes_successful))){
//			   finish();
//		   }
//		   else if(intent.getAction().equals(context.getString(R.string.txt_vn_lumi_smarthome_del_scenes_failed))){
//			   displayDelSceneFailed();
//		   }
//	   }
//
//	}
//}  
